package org.wmq.taskschedule.factory;

import org.wmq.taskschedule.algorithm.AlgorithmExecutor;
import org.wmq.taskschedule.biz.model.DO.Param;
import org.wmq.taskschedule.common.AlgorithmTypeEnum;

/**
 * 算法策略工厂类
 * 通过枚举类AlgorithmTypeEnum来管理算法执行器的创建
 */
public class AlgorithmStrategyFactory {
    
    /**
     * 根据算法类型ID获取算法执行器
     * @param type 算法类型ID
     * @param param 算法参数
     * @return 算法执行器实例
     */
    public static AlgorithmExecutor getAlgorithmExecutor(int type, Param param) {
        AlgorithmTypeEnum algorithmType = AlgorithmTypeEnum.getByTypeId(type);
        return algorithmType.getAlgorithmExecutor(param);
    }
}
